Contents (Содержание)

1) Diving into data (Знакомство с данными)

2) Vizualization (Визуализация)

3) CatBoostClassifier

4) Economic effect (Экономический эффект)

1) Diving into data (Знакомство с данными)

About Columns (Features)

1) CLIENTNUM - Client number. Unique identifier for the customer holding the account (ID клиента)

2) Attrition_Flag - Existing and Attrited Customers (Метка принадлежности к оттоку)

3) Customer_Age - Demographic variable - Customer's Age in Years (Возраст)

4) Gender - M = Male, F = Female (Пол)

5) Dependent_count - Number of dependents (Количество детей)

6) Education_Level - Educational Qualification of the account holder (Уровень образования)

(example: high school, college graduate, etc.)

7) Marital_Status - Married, Single, Unknown (Семейное положение)

8) Income_Category - Annual Income Category of the account holder (Категория дохода)

(< $40K, $40K - 60K, $60K - $80K, $80K-$120K, > $120K, Unknown)

9) Card_Category - Type of Card (Blue, Silver, Gold, Platinum) (Категория карты)

10) Months_on_book - Period of relationship with bank (Как давно стал клиентом банка)

11) Total_Relationship_Count - Total no. of products held by the customer ("Количество продуктов банка у кдиента")

12) Months_Inactive_12_mon - Number of months inactive in the last 12 months (Количество месяцев неактивности за последний год)

13) Contacts_Count_12_mon - Number of Contacts in the last 12 months (Количество контактов за последний год)

14) Credit_Limit - Credit Limit on the Credit Card (Кредитный лимит)

15) Total_Revolving_Bal - Total Revolving Balance on the Credit Card (Общий возобновляемый остаток на кредитной карте)

16) Avg_Open_To_Buy - Num Open to Buy Credit Line (Average of last 12 months) ("Количество открытых для покупки кредитной линии за последний год")

17) Total_Amt_Chng_Q4_Q1 - Num Change in Transaction Amount (Q4 over Q1) ("Количественное изменение суммы транзакций относительно 2 периодов")

18) Total_Trans_Amt - Num Total Transaction Amount (Last 12 months) (Общее сумма транзакций)

19) Total_Trans_Ct - Num Total Transaction Count (Last 12 months) (Общее количество транзакций)

20) Total_Ct_Chng_Q4_Q1 - Num Change in Transaction Count (Q4 over Q1) ("Количество изменений в транзакциях относительно 2 периодов")

21) Avg_Utilization_Ratio - Num Average Card Utilization Ratio (Средний коэффициент использования)

Check for duplicate lines (clients).

Проверим, есть ли повторяющиеся строки.

Remove from Features "Attrition_Flag" because it's a target.

Не включаю "Attrition_Flag" - так как это целевая переменная.

Class Ratio is very different so there is imbalance and I decided to fight with it.

Получается есть Дисбаланс классов.

2) Vizualization (Визуализация)

3) CatBoostClassifier

I know about LightGBMClassifier and XGBoostClassifier (H2OGradientBoostingEstimator, GradientBoostingClassifier and others).

but I prefer CatBoostClassifier! .

Я предпочитаю CatBoostClassifier.

It's important for bank for find certainly all client from future churn.

So we will evaluate models by Accuracy and F1 Score, which measure FP and FN cases.

FalsePositive (FP) cases - when we define that these client are from future churn but they are not from Churn.

FalseNegative (FN) cases - when we define that these client are not from future Churn but they are from Churn.

It's import to define FN certainly.

Для банка очень важно точно определить всех клиентов из будущего оттока.

Поэтому будем оценивать модель по Точности (Accuracy) и F1-мере (F1 Score), которая определяет ### ЛП и ЛО случаи.

ЛожноПоложительные (ЛП) случаи - случаи, когда мы определили, что эти клиенты из будущего оттока, а на самом деле нет.

ЛожноНегативные (ЛН) случаи - случаи, когда мы определили. что это клиенты не из будущего оттока, а они из будущего оттока.

Очень важно точно определить ЛН случаи.

I will try SomteNC library.

Решил попробовать Стратегию Smote (SmoteNC - с учётом категориальных данных)!!!

More information about imbalance https://dyakonov.org/2021/05/27/imbalance/

Подробнее о дисбалансе: https://dyakonov.org/2021/05/27/imbalance/

SMOTE - library to work with imbalance and all Features must be in Numeric format.

SMOTENC - library to work with imbalance and you can work wirh Categorical Features.

SMOTE - библиотека для работы с дисбалансом и все признаки должны быть переведены в цифру.

SMOTENC - библиотека для работы с дисбалансом и признаки могут быть категориальными.

4) Economic effect (Экономический эффект)

I decided to calculate how much we lose in money,

starting from the mean of the given money category and

how many cases we have.

Решил посчитать сколько теряем в деньгах,

отталкиваясь от среднего данной денежной категории и

количества таких случаев в этой категории.

Suppose, that the bank makes in average 8-10% profit from one account.

So profit_koef = 0.08.

Предположим, что банк имеет 8-10 : прибыли с каждого счёта

Поэтому коэффициент_прибыли = 0.08 (profit_koef).

Strategy: allocate some money to retain (some part of the future churn).

Bank can find out the reasons for the churn and offer more comfortable service!

Стратегия борьбы : выделить некоторые средства для удержания (некоторой части из будущего оттока).

путём выяснения причин оттока и предложения тарифа на более выгодных условиях!

Thanks for reading.

Спасибо за внимание.